///***********************************************************************
//	filename: 	4YsXMLParserEvent.h
//	created:	18/4/2012
//	author:		4Ys
//	
//	purpose:	Defines classes of XMLParser with TinyXML, especially for Event.	            
//*************************************************************************/
//#ifndef _4YsXMLParserEvent_h_
//#define _4YsXMLParserEvent_h_
//
//#include "tinyxml.h"
//#include "tinystr.h"
//#include "DaterEventManager.h"
//#include "DaterEvent.h"
//#include "4YsXMLParser.h"
//#include "DaterTime.h"
//
//#include <string>
//#include <vector>
//
//namespace Dater
//{
//	/*!
//	\brief
//		Implemeentation of Dater XMLParserEvent using TinyXML.
//	*/
//	class XMLParserEvent : public XMLParser
//	{
//	public:
//		/*!
//			Construction of class: XMLParserEvent.
//		*/
//		XMLParserEvent(const std::string& fileName = "Event.xml");
//
//		/*!
//		\brief
//			Read an xml file.
//
//		\return 
//			- true : read successfully.
//			- false : read fail.
//		*/
//		virtual bool readXmlFile();
//
//		/*!
//		\brief
//			Save an xml file.
//
//		\return 
//			- true : save successfully.
//			- false : save fail.
//		*/
//		virtual bool saveXmlFile();
//
//
//	private:
//		/*!
//		\brief
//			Set value of primary key of the node.
//
//		\param rootelement
//			- a pointer to TiXmlElement which stands for root node in an xml file.
//
//		\param pkeyname
//			- a string which stands for pkey's name.
//
//		\param anevent
//			- a pointer to Event is now be operated.
//
//		\return
//			Nothing.
//		*/
//		void setID(TiXmlElement* anelement, std::string pkeyname, Event* anevent);
//
//		/*!
//		\brief
//			Create an element to the root element of the xml file, especially for Reminding.
//
//		\param element
//			- a pointer to TiXmlElement which stands for the root element of xml file.
//
//		\param ID
//			- a int means the ID of this reminding.
//
//		\param anevent
//			- a pointer to Event which stands for the address of the event.
//
//		\return
//			Nothing.
//		*/
//		void XMLParserEvent::createReminding(TiXmlElement* element, Event* anevent);
//
//		/*!
//		\brief
//			Insert one node into the xml file.
//
//		\param eventelement
//			- a pointer to TiXmlElement which stands for the first element of the node in an xml file.
//
//		\param anevent
//			- a pointer to Event which is now be operated.
//
//		\return
//			Nothing.
//		*/
//		void completeElement(TiXmlElement* eventelement, Event* anevent);
//		
//		/*!
//		\brief
//			Change the format from int to string.
//
//		\param time
//			- a integer whose format is integer but be need as string.
//
//		\return
//			A string means the same with integer but its format is string.
//		*/
//		std::string intToString(int data);
//		
//		/*!
//		\brief
//			Insert one node into the xml file.
//
//		\param eventID
//			- a string is the content of identify of the class.
//
//		\return
//			a pointer to the first element, just ID element, of this node.
//		*/
//		TiXmlElement* insertNode(std::string eventID);
//		
//		/*!
//		\brief
//			Insert a complete event node by the end of root element into the xml file.
//
//		\param anevent
//			- a pointer to Event is now be operated.
//
//		\param ID
//			- an integer is the content of identify of the class.
//
//		\return
//			a pointer to the first element, just ID element, of this node.
//		*/
//		void insertEventNode(Event* anevent, int ID);
//
//		/*!
//		\brief
//			Export a complete xml file as a vector consists of pointers to Events.
//
//		\return
//			a vector consists of pointers to Events, just export what in xml file.
//		*/
//		std::vector<Event*> exportToEvent();
//
//		/*!
//		\brief
//			Insert a node represent the uid_counter of the system
//
//		\return
//			nothing
//		*/
//		void insertUidCounterNode(unsigned long counter);
//	};
//
//}
//
//#endif